# Query() 的用法有了，Path() 也有类似的封装

from typing import Annotated

from fastapi import FastAPI, Path

app = FastAPI()


@app.get("/items/{item_id}")
async def read_items(
    # item_id 是 path 的部分，path 都是必须的，也可以有校验规则 同样的 title 没显示，不知道为什么，不过没什么影响先不管
    item_id: Annotated[int, Path(title="标题不知道为什么不显示", gt=0, le=1000)],
    q: str,
):
    results = {"item_id": item_id}
    if q:
        results.update({"q": q})
    return results